
from langchain import PromptTemplate

# 你不需要做任何解释说明，并且严格按照示例的格式进行输出，仅输出["金融常识问题","文本检索问题","数值检索问题"]。


PROMPT = """
你需要扮演一个优秀的意图识别助手，你需要写出思考过程，并判断人类的问题是属于（开放问题/检索问题）类别的一项。

示例一：
人类：判断<能否根据2020年金宇生物技术股份有限公司的年报，给我简要介绍一下报告期内公司的社会责任工作情况？>的类别。
思考：
1. 题目中出现了具体公司名称的关键词 "金宇生物技术股份有限公司"。
2. 由于题目包含具体公司名称的关键词，判断该题目属于检索问题。
答案: 检索问题

示例二：
人类：判断<2019年四方科技电子信箱是什么>的类别。
思考：
1. 题目中出现了具体公司名称的关键词 "四方科技"。
2. 由于题目包含具体公司名称的关键词，判断该题目属于检索问题。
答案: 检索问题

示例三：
人类：判断<研发费用对公司的技术创新和竞争优势有何影响？>的类别。
思考：
1. 题目中未出现任何具体公司名称的关键词。
2. 由于题目未包含具体公司名称的关键词，判断该题目属于开放问题。
答案: 开放问题

示例四：
人类：判断<请根据江化微2019年的年报，简要介绍报告期内公司主要销售客户的客户集中度情况，并结合同行业情况进行分析。>的类别。
思考：
1. 题目中出现了具体公司名称的关键词 "江化微"。
2. 由于题目包含具体公司名称的关键词，判断该题目属于检索问题。
答案: 检索问题

示例五：
人类：判断<康希诺生物股份公司在2020年的资产负债比率具体是多少，需要保留至小数点后两位？>的类别。
思考：
1. 题目中出现了具体公司名称的关键词 "康希诺生物股份公司"。
2. 由于题目包含具体公司名称的关键词，判断该题目属于检索问题。
答案: 检索问题

示例六：
人类：判断<平潭发展在2021年的投资收益增长率保留到小数点后两位是多少？>的类别。
思考：
1. 题目中出现了具体公司名称的关键词 "平潭发展"。
2. 由于题目包含具体公司名称的关键词，判断该题目属于检索问题。
答案: 检索问题

注意：
    1.你不需要做任何解释说明，并且严格按照上述示例的格式进行输出, 需要包括"思考"和"答案"两部分。
    2."思考"仅有"1."和"2."两个步骤，不应该有更多的思考步骤。

现在开始：
人类：判断<{query}>的类别。
"""


def intent_recognition_raw_prompt():
    return PromptTemplate(template=PROMPT, input_variables=["query"])


def intent_recognition_prompt(query: str):
    P = PromptTemplate(template=PROMPT, input_variables=["query"])
    return P.format(query=query)


if __name__ == "__main__":
    print(intent_recognition_prompt("博云新材在2020年对联营企业和合营企业的投资收益是多少元？"))
